package sarahstools.mitarbeiter;

import java.util.Date;

import sarahstools.DateUtils;

public class Mitarbeiter {
	
	private MitarbeiterRang rang = new MitarbeiterRang();
	
	private String anrede;
	private String vorname;
	private String nachname;
	private String strasse;
	private String plz;
	private String ort; 
	private String telefon;
	private String mobil;
	private String email;
	
	private MitarbeiterUrlaub urlaub;
	
	public Mitarbeiter()
	{
		urlaub = new MitarbeiterUrlaub(this);
	}
	
	public MitarbeiterRang getRang()
	{
		return rang;
	}
	
	public String getAnrede()
	{
		return anrede;
	}
	
	public void setAnrede(String value)
	{
		anrede = value;
	}
	
	public String getVorname()
	{
		return vorname;
	}
	
	public void setVorname(String value)
	{
		vorname = value;
	}
	
	public String getNachname()
	{
		return nachname;
	}
	
	public void setNachname(String value)
	{
		nachname = value;
	}
	
	public String getStrasse()
	{
		return strasse;
	}
	
	public void setStrasse(String value)
	{
		strasse = value;
	}

	public String getPLZ()
	{
		return plz;
	}
	
	public void setPLZ(String value)
	{
		plz = value;
	}
	
	public String getOrt()
	{
		return ort;
	}
	
	public void setOrt(String value)
	{
		ort = value;
	}
	
	public String getTelefon()
	{
		return telefon;
	}
	
	public void setTelefon(String value)
	{
		telefon = value;
	}
	
	public String getMobil()
	{
		return mobil;
	}
	
	public void setMobil(String value)
	{
		mobil = value;
	}
	
	public String getEmail()
	{
		return email;
	}
	
	public void setEmail(String value)
	{
		email = value;
	}
	
	public MitarbeiterUrlaub getUrlaub()
	{
		return urlaub;
	}
	
	public ArbeitstagArt getArbeitsTagArt(Date datum)
	{
		if (urlaub.getUrlaubsTage().containsKey(datum))
		{
			switch (urlaub.getUrlaubsTage().get(datum).Art)
			{
				case KOMPLETT: return ArbeitstagArt.FREI;
				default: return ArbeitstagArt.HALBTAGS;
			}
		}
		else
		{
			return rang.getParameter().Arbeitstage[DateUtils.getDayOfWeek(datum)];
		}
	}
	
}
